home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / cbibcode.arc / MOVEREL.C < prev    next >
Text File  |  1991-08-05  |  1KB  |  52 lines

  1.                                             /* moverel.c */
  2.                                  /* Entered by A. Wayner */
  3.  
  4. # include <graphics.h>
  5. # include <stdlib.h>
  6.  
  7. main()
  8. {
  9.     int graphdriver = DETECT;
  10.     int graphmode, maxx, maxy, maxcolor;
  11.     int xstep, ystep, stepsize, i, numsteps = 20;
  12.  
  13.                                             /* Detect adapter type and    */
  14.                                             /* initialize graphics system */
  15.       initgraph( &graphdriver, &graphmode, "\\turboc");
  16.     outtextxy( 10, 10, "Random motion with 'moveto' ");
  17.  
  18.     maxx = getmaxx() - 100;
  19.     maxy = getmaxy() - 60;
  20.     stepsize = maxy / numsteps;
  21.     maxcolor = getmaxcolor();
  22.     randomize();                        /* Initialize random number generator */
  23.  
  24.                                             /* Exit when user presses a key */
  25.     outtextxy( 10, getmaxy() - 30,"Press any key to exit : ");
  26.     settextjustify( CENTER_TEXT, CENTER_TEXT );
  27.  
  28.                                             /* Set up initial position */
  29.     moveto( maxx / 2 + 50, maxy / 2 + 30 );
  30.  
  31.     while( !kbhit())
  32.     {
  33.         for( i = 0; i < numsteps; i++ )
  34.         {
  35.                                             /* Generate random steps along */
  36.                                             /* x and y directions */
  37.             xstep = stepsize / 2 - random( stepsize );
  38.             ystep = stepsize / 2 - random( stepsize );
  39.             setcolor( LIGHTCYAN );
  40.             moverel( xstep, ystep );
  41.  
  42.             outtext("x");                /* Draw an 'x' at the new point */
  43.         }
  44.                                             /* Move current point back to midpoint */
  45.                                             /* of the screen */
  46.         moveto( maxx / 2 + 50, maxy / 2 + 30 );
  47.     }
  48.  
  49.     closegraph();                        /* Exit graphics library */
  50.  
  51. }
  52.